package adke.models.powerups;

import adke.Util;
import adke.managers.GameManager;
import adke.models.Player;

// model voor powerups die alleen maar eigenschappen geven
// zoals permanente andere lijndikte, snelheid, draaisnelheid etc

public abstract class PropertyPowerup extends Powerup
{
    public final static int NEGATIVE_PROPERTY = 0;
    public final static int POSITIVE_PROPERTY = 1;
    
    // moet accessible zijn voor subklassen
    public int EFFECT; // negatief / positief
    public boolean ACTIVATED;
    
    // zorg ervoor dat de powerups hun players kunnen bereiken
    public PropertyPowerup(Player owner)
    {
        super(owner);
        ACTIVATED = false;
        prepareEffect();
    }
    
    public PropertyPowerup()
    {
        ACTIVATED = false;
        prepareEffect();
    }
    
    // activeer de powerup eenmalig
    public abstract void activate();
    
    // kijk of we aan random effect doen
    // if true, doe random effect
    public int prepareEffect()
    {
        // op de een of andere manier heeft het icoontje ons 
        // al verteld welk effect we moeten hebben
        if (GameManager.getPowerupForeseeableFX())
        {
            // TODO
            return -1;
        }
        
        // random pos/neg effect
        else
        {
            return Util.random(2);
        }
    }
}
